<?php

/*
	存放一些公共调用、和不需要登录验证的接口
*/

namespace shop\modules\api\controllers;

use Yii;

class CommonController
{

	public function actionUploadImageTest()
	{
		$image = $_FILES['file']; // 获取图片
		$file_uploads = $image['tmp_name']; // 上传前的路径
		$fileName = date("his") . '_' . rand(10000, 99999);
		$fileSuffix = '.' . ltrim(strchr($image['type'], '/'), '/');  // 图片后缀名
		$folderName = date('Ymd');//放进今天日期的文件夹中
		$dir = Yii::$app->basePath . '/web/upload/' . $folderName . '/';//存放的路径（不包含文件名）
		if (!file_exists($dir)) {//创建今天日期的文件夹
			mkdir($dir, 0777, true);
			chmod($dir, 0777);
		}
		$move_to_file = $dir . '/' . $fileName . $fileSuffix; // 上传后的路径

		if (!is_uploaded_file($file_uploads)) {
			return false; // 上传失败
		}
		if (move_uploaded_file($file_uploads, $move_to_file)) {
			return '/upload/'.$folderName . '/' . $fileName . $fileSuffix;
		}
	}


	/*图片上传*/
	public function actionUploadImage(){
		header('Access-Control-Allow-Origin:*');
		$image=I('image');
		$str = '';
		if(!empty($image)){
			foreach($image as $k=>$v){
				$picpath = $v['content'];
				$base64_image = str_replace(' ', '+', $picpath);
				//post方式接收的数据, 加号会被替换为空格, 需要重新替换回来, 若不是post数据, 不需要执行
				if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image, $result)){
					//定义图片储存文件目录
					$dir = '../upload/'.date("Ymd",time());
					//定义文件名称
					$picname = date("his") . '_' . rand(10000, 99999);
					if (!is_dir($dir)){
						//如果不存在就创建该目录
						mkdir($dir,0777,true);
					}
					//获取图片后缀
					if($result[2] == 'jpeg'){
						$picdir=$picname.'.jpg';
					}else{
						$picdir=$picname.'.'.$result[2];
					}
					//图片名称
					$image_url = $dir.'/'.$picdir;
					//储存图片
					$img_url = '';//图片路径
					if (file_put_contents($image_url, base64_decode(str_replace($result[1], '', $base64_image)))){
						$img_url = substr($image_url,9);
						if(empty($str)){
							$str .= $img_url;
						}else{
							$str .= ','.$img_url;
						}
					}
				}else{
					echo ajaxReturn(300,'上传图片格式错误');exit;
				}
			}
			echo ajaxReturn(200,'上传图片成功',$str);exit;

		}else{
			echo ajaxReturn(300,'没有上传图片');exit;
		}


	}

}

